package com.ruoyi.system.mapper;

import com.ruoyi.common.core.domain.entity.FileVersion;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface FileVersionMapper {
    // 可以在这里添加自定义查询方法，比如按条件查询文件版本等

    /**
     * 插入文件版本
     * @param fileVersion 文件版本实体
     */
    void insertFileVersion(FileVersion fileVersion);

    /**
     * 批量插入文件版本
     * @param fileVersionList 文件版本实体列表
     */
    void batchInsertFileVersion(@Param("fileVersionList") List<FileVersion> fileVersionList);

    /**
     * 根据文件ID查找最新版本
     * @param fileId 文件ID
     * @return 文件版本实体
     */
    FileVersion findLatestVersionByFileId(@Param("fileId") Long fileId);

    /**
     * 查询文件版本通用方法
     * @param fileVersion
     * @return
     */
    List<FileVersion> selectFileVersions(FileVersion fileVersion);

    /**
     * 根据文件ID列表查找最高版本的文件版本
     * @param fileIds 文件ID列表
     * @return 文件版本实体列表
     */
    List<FileVersion> findHighestVersionsByFileIds(@Param("fileIds") List<Long> fileIds);
}